package com.sunxiansheng.redis.init;

/**
 * Description: 缓存预热抽象类
 * @Author sun
 * @Create 2024/7/19 12:23
 * @Version 1.0
 */
public abstract class AbsCache {

    /**
     * 初始化缓存
     */
    public abstract void initCache();

    /**
     * 获取缓存
     * @param key
     * @return
     * @param <T>
     */
    public abstract <T> T getCache(String key);

    /**
     * 清除缓存
     */
    public abstract void clearCache();

    /**
     * 重载缓存
     */
    public void reloadCache() {
        clearCache();
        initCache();
    }

}